package com.mcgrady.collection;

import org.junit.Test;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * @author McGrady
 */
public class MapTest {
    @Test
    public void hashMap() {
        HashMap<String, Object> hashMap = new HashMap<>(5);
        hashMap.put("name", "Michael Jackson");
        hashMap.put("age", "43");
        hashMap.put("gender", "male");
        hashMap.put("info", "舞王");
        System.out.println(hashMap);

        hashMap.remove("age");
        System.out.println(hashMap.containsKey("age") ? "包含age键" : "不包含age键");
        System.out.println(hashMap.containsValue("舞王") ? "包含舞王" : "不包含舞王");

        // map没有办法直接遍历
        // 可以使用keySet()先获取容器中的所有key
        Set<String> keys = hashMap.keySet();
        for (String key : keys) {
            System.out.println(key + " ： " + hashMap.get(key));
        }

        // 可以使用EntrySet()先获取容器中的所有Entry
        Set<Map.Entry<String, Object>> entries = hashMap.entrySet();
        for (Map.Entry<String, Object> entry : entries) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}
